<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui"
      xmlns:composite="http://java.sun.com/jsf/composite">

    <h:head>
        <f:facet name="first">
            <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
        </f:facet>
    </h:head>

    <composite:interface>
        <composite:attribute name="mantServicio"/>
        <composite:attribute name="accion" method-signature="pe.com.cotelasa.scp.entidad.Servicio accion()"/>
        <composite:attribute name="isEditable" type="java.lang.Boolean"/>
    </composite:interface>

    <composite:implementation>
        <center>
            <p:panelGrid id="formServicio" rendered="#{!cc.attrs.isEditable}" >
                <p:row>
                    <p:column>
                        <h:outputText id="lblServicio" value="SERVICIO(*): "  class="lblForm"  />

                    </p:column>
                    <p:column colspan="3">
                        <p:selectOneMenu value="#{BKComponenteServicio.formularioServicio.servicio}" converter="#{servicioConverter}" required="true"  
                                         effect="fade" id="idServicio" var="ser" filter="true" filterMatchMode="contains" rendered="false">  
                            <f:selectItem itemLabel="Seleccionar" itemValue="" />  
                            <f:selectItems value="#{BKComponenteServicio.listaServicioActivos}" var="serv" 
                                           itemLabel="#{serv.nombre}" itemValue="#{serv}"/> 
                            <p:column>  
                                #{ser.nombre}
                            </p:column>  
                        </p:selectOneMenu>
                        <p:selectCheckboxMenu value="#{BKComponenteServicio.listaServicioElegidos}" label="Lista de Servicio" filter="true" 
                                              filterMatchMode="contains" panelStyle="width:300px" id="serviciosElegidos" converter="#{servicioConverter}" >  
                            <f:selectItems value="#{BKComponenteServicio.listaServicioActivos}" var="serv" 
                                           itemLabel="#{serv.nombre}" itemValue="#{serv}"/> 
                        </p:selectCheckboxMenu>
                        <p:message for="serviciosElegidos" display="text"/>
                        <h:outputLink value="#{request.contextPath}#{MBServicio.nuevo()}.anx" target="_blank" class="linkAgregar" >Agregar Servicio</h:outputLink>
                    </p:column>
                </p:row>
                <p:row>
                    <p:column colspan="4">    
                        <p:commandButton id="btnAgregarServicio" actionListener="#{MBComponenteServicio.agregarServicio}" 
                                         ajax="true" update="dataTablaServicio,formServicio"  
                                         value="AGREGAR" process="formServicio"/>
                    </p:column>
                </p:row>
            </p:panelGrid>
        </center>

        <p:panel header="LISTA DE SERVICIO">
            <p:dataTable id="dataTablaServicio" var="servicio" value="#{BKComponenteServicio.listaServicio}" widgetVar="carsTable"
                         emptyMessage="No se encontraron servicios" rowsPerPageTemplate="5,10,15" 
                         paginator="true" rows="5" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink}
                         {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowIndexVar="rowIndex" 
                         sortBy="#{servicio.servicio.nombre}" sortOrder="asc">


                <p:column id="idColumnaNum" style="width: 5%" headerText="Num.">
                    <h:outputText value="#{rowIndex+1}" />
                </p:column>

                <p:column id="idColumnaNombre" headerText="SERVICIO" sortBy="#{servicio.servicio.nombre}">
                    <h:outputText value="#{servicio.servicio.nombre}" />  
                </p:column>
                
                <p:column id="idColumnaDescripcion" headerText="DESCRIPCION">
                    <h:outputText value="#{servicio.servicio.descripcion}" />  
                </p:column>

                <p:column rendered="#{!cc.attrs.isEditable}">             
                    <p:commandButton id="selectButton" oncomplete="confirmacion.show()" ajax="true"
                                     icon="ui-icon-trash" process="@this" >
                        <f:setPropertyActionListener value="#{servicio}" target="#{BKComponenteServicio.currentServicio}"/>
                    </p:commandButton>  
                </p:column>    
            </p:dataTable>   
        </p:panel>
        <p:confirmDialog id="dlgEliminarServicio" message="¿ Desea realmente eliminar este servicio ?"
                         header="Eliminar Servicio" severity="alert" widgetVar="confirmacion">
            <h:panelGrid style="width: auto;margin:0px auto;border:0px;padding: 0 5px" columns="2">      
                <p:commandButton id="btnConfEliServicio" actionListener="#{MBComponenteServicio.eliminarServicio}" update="dataTablaServicio"
                                 value="Si" oncomplete="confirmacion.hide()" immediate="true" style="text-align: center" process="@this"  />
                <p:commandButton id="btnCancEliServicio" value="No" onclick="confirmacion.hide()" type="button" style="text-align: center" />
            </h:panelGrid>
        </p:confirmDialog>    
    </composite:implementation>

</html>